<?php
declare (strict_types = 1);

namespace app\command;

use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;

class Test extends Command
{
    protected function configure()
    {
        // 指令配置
        $this->setName('test')
            ->setDescription('the test command');
    }

    protected function execute(Input $input, Output $output)
    {
        $default_interval = 1;
        $count = 1;
        while (true) {
            if($count > 10) {
                break;
            }
            $output->writeln('count ' . $count);
            if($count >= 5 && $count <=8) { // 有数据时就取消定时间隔
                $interval = 0;
                // todo 找到数据时处理相关逻辑, 处理完成直接进行下一次循环
            }else { // 没有数据时就1秒一次
                $interval = $default_interval;
            }
            if($interval > 0) {
                sleep($interval);
            }
            $count++;
        }
        // 指令输出
        $output->writeln('Done !');
    }
}
